<?php
	
	/* Gere l'upload de fichier CSV et l'insertion des etudiants dans la BDD
	 */
	
	error_reporting(E_ALL);
	ini_set('display_errors', true);
	
	include_once "../php/inc/defines.php";
	include_once "../php/auth.php";
	
	session_start();
	auth::secure(ADMIN);
	
	if($_FILES != null && isset($_GET["tpid"])) {
		$groupeTP = $_GET["tpid"];
		
		//Création de l'objet de connexion
		$db = new PDO(SERVER.":host=".HOST.";dbname=".BASE, USER, PASS);
	
		//Déplacer le fichier upload dans un dossier tempo.
		move_uploaded_file($_FILES["csv"]["tmp_name"], dirname(__FILE__)."/".$_FILES["csv"]["name"]);
		$file = $_FILES['csv']; 
		$delimiter = ',';
		$fichier = fopen($_FILES["csv"]["name"], "r");
		$etudiants = array();
		if($fichier) {
			//Lecture de chaque ligne.
			while(($line_array = fgetcsv($fichier, 0, $delimiter)) !== false) {
				if(count($line_array) != 5) { //on verifie que le format est bon
					echo "Le fichier CSV ne semble pas &ecirc;tre au bon format ! Le format correct est :<br><b>login,motDePasse,nom,pr&eacute;nom,apogee</b><br>L'ajout a &eacute;t&eacute; annul&eacute;...<br><br><a href=\"javascript: history.go(-1)\">Revenir en arri&egrave;re</a>";
					die();
				}
				//On extrait chaque valeur de chaque ligne en eliminant les apostrophes (pourraient poser probleme dans la requete)
				$login = str_replace("'", "", trim($line_array[0]));
				$pass = str_replace("'", "", trim($line_array[1]));
				$nom = str_replace("'", "", trim($line_array[2]));
				$prenom = str_replace("'", "", trim($line_array[3]));
				$codeEtu = str_replace("'", "", trim($line_array[4]));
				
				array_push($etudiants, array($login, $pass, $nom, $prenom, $codeEtu));
				
			}
			echo count($etudiants)." &eacute;tudiants vont &ecirc;tre cr&eacute;es dans la base de donn&eacute;es...<br>";
			//Ajout des étudiants
			foreach($etudiants as $ligne) {
				$sql = "INSERT INTO ".ETUDIANT_TABLE." VALUES(NULL, ".$groupeTP.", NULL, '".$ligne[0]."', '".$ligne[1]."', '".$ligne[2]."', '".$ligne[3]."', '".$ligne[4]."');";
				$db->query($sql);
			}
			fclose($fichier);
			//On supprime le fichier csv du serveur.
			unlink(dirname(__FILE__)."/".$_FILES["csv"]["name"]);
			echo "Les &eacute;tudiants ont bien &eacute;t&eacute; ajout&eacute;s.<br><br><a href=\"javascript: window.close()\">Fermer</a>";
		}
	}
	
	class fichierCSV {
		//Fonction de création d'un formulaire
		public function createUploadForm($tpid, $tpnom) {
			echo "<!DOCTYPE html>";
			echo "<html>";
			echo "<head>";
			echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">";
			echo "<title>Ajout par fichier CSV</title>";
			echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../css/styles.css\">";
			echo "</head>";
			echo "<body>";
			echo '<div class="ficheEtu">';
			echo '<div class="ficheTitre">Ajout d\'&eacute;tudiants au groupe '.$tpnom.' par fichier CSV</div>';
			echo '<form method="post" action="csv.php?tpid='.$tpid.'" enctype="multipart/form-data">';
			echo '<table class="ficheTable" cellpadding="5">';
			echo '<tr><td>Format :</td></tr>';
			echo '<tr><td class="small bold">login,motDePasse,nom,pr&eacute;nom,codeApogee</td></tr>';
			echo '<tr><td><input type="file" name="csv" id="file"></td></tr>';
			echo '</table>';
			echo '<div class="ficheButtonsDiv">';
			echo "<input class=\"formElement ficheButton\" type=\"submit\" value=\"Envoyer\" onclick=\"return document.getElementById('file').value != ''\">";
			echo '<input class="formElement ficheButton" type="button" value="Fermer" onclick="window.close()"></div>';
			echo '</form></div>';
			echo "</body>";
			echo "</html>";
		}	
	}
	
	if(isset($_GET["tpid"], $_GET["tpnom"])) {
		$herp = new fichierCSV();
		$herp->createUploadForm($_GET["tpid"], $_GET["tpnom"]);
	}

?>
